Remove the reason code from the destroy action -- the reason is only of value
authoremellor@ewan <emellor@ewan>
Mon, 3 Oct 2005 15:39:19 +0000 (16:39 +0100)
committeremellor@ewan <emellor@ewan>
Mon, 3 Oct 2005 15:39:19 +0000 (16:39 +0100)
on a graceful shutdown.  Clarify the semantic difference between poweroff and
halt (we use halt to mean 'shutdown and stop' and poweroff to mean 'shutdown
and do whatever the configured behaviour is').

Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/sv/DomInfo.py
tools/python/xen/xend/XendClient.py
tools/python/xen/xend/server/SrvDomain.py
tools/python/xen/xm/destroy.py
tools/python/xen/xm/shutdown.py

index 12135cd4fb387386f9dfca65ca41ff1fb3c118da..89feca01a5d0ab19689684cd27d507f09e25678d 100755 (executable)
@@ -139,7 +139,7 @@ class DomActionTab( ActionTab ):
         if not dom is None and dom != '0':
           if DEBUG: print ">DomShutDown %s" % dom
            try:
-               server.xend_domain_shutdown( int( dom ), "halt" )
+               server.xend_domain_shutdown( int( dom ), "poweroff" )
            except:
                pass
     
@@ -175,7 +175,7 @@ class DomActionTab( ActionTab ):
         if not dom is None and dom != '0':
           if DEBUG: print ">DomDestroy %s" % dom
            try:
-               server.xend_domain_destroy( int( dom ), "halt" )
+               server.xend_domain_destroy(int( dom ))
            except:
                pass
 
index e0b4babc49230fc5bd39cbc9fcc5e9ca118cd0d5..0919ae6da6421f153d7b4b85bb7e2febd4cdc5c8 100644 (file)
@@ -232,10 +232,9 @@ class Xend:
                              {'op'      : 'sysrq',
                               'key'     : key})
 
-    def xend_domain_destroy(self, id, reason):
+    def xend_domain_destroy(self, id):
         return self.xendPost(self.domainurl(id),
-                             {'op'      : 'destroy',
-                              'reason'  : reason })
+                             {'op'      : 'destroy' })
 
     def xend_domain_save(self, id, filename):
         return self.xendPost(self.domainurl(id),
index 896f5b400336ab8311a5b20dca2b13bed671e262..6b9cb7b202ad533e4fac13e7d6c13c9f398490d4 100644 (file)
@@ -71,8 +71,7 @@ class SrvDomain(SrvDir):
 
     def op_destroy(self, op, req):
         fn = FormFn(self.xd.domain_destroy,
-                    [['dom',    'int'],
-                     ['reason', 'str']])
+                    [['dom',    'int']])
         val = fn(req.args, {'dom': self.dom.domid})
         req.setHeader("Location", "%s/.." % req.prePathURL())
         return val
@@ -232,8 +231,6 @@ class SrvDomain(SrvDir):
 
         req.write('<form method="post" action="%s">' % url)
         req.write('<input type="submit" name="op" value="destroy">')
-        req.write('<input type="radio" name="reason" value="halt" checked>Halt')
-        req.write('<input type="radio" name="reason" value="reboot">Reboot')
         req.write('</form>')
 
         req.write('<form method="post" action="%s">' % url)
index 66977be87153c68cc500e9b368eb61a93e65db2f..345b04a1d791f88ba53f619288e543ea06212457 100644 (file)
 from xen.xend.XendClient import server
 from xen.xm.opts import *
 
-gopts = Opts(use="""[options] [DOM]
+gopts = Opts(use="""[DOM]
 
-Destroy a domain, optionally restarting it.
+Destroy a domain.
 """)
 
 gopts.opt('help', short='h',
          fn=set_true, default=0,
          use="Print this help.")
 
-gopts.opt('reboot', short='R',
-          fn=set_true, default=0,
-          use='Destroy and restart.')
-
 def main(argv):
     opts = gopts
     args = opts.parse(argv)
@@ -42,10 +38,4 @@ def main(argv):
         return
     if len(args) < 1: opts.err('Missing domain')
     dom = args[0]
-    if opts.vals.reboot:
-        mode = 'reboot'
-    else:
-        mode = 'halt'
-    server.xend_domain_destroy(dom, mode)
-    
-        
+    server.xend_domain_destroy(dom)
index e814f03f56bad77f6414981b5cc92757cc3f351f..7f626838bcd457ff29d396ebe92e1fa5d1da4457 100644 (file)
@@ -73,19 +73,15 @@ def shutdown(opts, doms, mode, wait):
         opts.info("All domains terminated")
 
 def shutdown_mode(opts):
-    mode = 'poweroff'
-    if opts.vals.wait:
-        mode = 'halt'
-        if opts.vals.reboot:
-           opts.err("Can't specify wait and reboot") 
+    if opts.vals.halt and opts.vals.reboot:
+        opts.err("Can't specify halt and reboot")
+
+    if opts.vals.halt:
+        return 'halt'
+    elif opts.vals.reboot:
+        return 'reboot'
     else:
-        if opts.vals.halt and opts.vals.reboot:
-            opts.err("Can't specify halt and reboot")
-        if opts.vals.halt:
-            mode = 'halt'
-        elif opts.vals.reboot:
-            mode = 'reboot'
-    return mode
+        return 'poweroff'
 
 def main_all(opts, args):
     mode = shutdown_mode(opts)